package ctrl;
import model.*;

public class DVDCtrl
{
    /**
     * Instance variables
     */
    private DVDCon dc;
    /**
     * Constructor for objects of class DVDCtrl
     */
    public DVDCtrl()
    {
        /**
         * Her kaldes metode på PersonCon, som laver en ny Personcontainer, 
         * hvis ikke der eksisterer en i forvejen
         */
        dc = dc.getInstance();
    }

    /**
     * Der dannes en ny person på baggrund af brugerens input og den addes til ArrayListen.
     */
    public void createDVD(String barcode, String title, String artist, String publicationDate)
    {
        DVD d = new DVD(barcode, title, artist, publicationDate);
        dc.addDVD(d);
    }

    /**
     * Her kaldes en tideligere metode, som giver mulighed for at finde en DVD.
     */
    public DVD findDVD(String title)
    {
        return dc.findDVD(title);
    }

    /**
     * Denne metode finder en copy, ved søgning på serialNumber
     * @param serialNumber Her bruges serialNumber, til at søge på, for at finde en copy
     * @return Returnerer den funde copy
     */
    public Copy findCopy(String serialNumber)
    {
        return dc.findCopy(serialNumber);
    }

    /**
     * Denne metode fjerner en DVD fra listen.
     */
    public void removeDVD(DVD d)
    {
        dc.removeDVD(d);
    }

    /**
     * Denne metode fjerner en copy fra listen.
     */
    public void removeCopy(Copy c)
    {
        dc.removeCopy(c);
    }

    /**
     * Denne metode viser alle DVD'er i listen.
     */
    public void listAllDVDs()
    {
        dc.listDVD();
    }

    /**
     * Denne metode laver en ny copy af en DVD.
     * @param serialNumber Setter serialNumber på en nyoprettet copy
     * purchaseDate Setter purchaseDate på en nyopretter copy
     * purchasePrice Setter purchasePrice på en nyopretter copy
     */
    public void createCopy(DVD d, String serialNumber, String purchaseDate, String purchasePrice)
    {
        Copy c = new Copy(serialNumber, purchaseDate, purchasePrice);
        c.setMyDVD(d);
        d.createCopy(c);
    }

}